LEADTOOLS Forms (Leadtools.Forms.Auto assembly) Send comments on this topic. | Back to Introduction - All Topics | Help Version 17.0.3.29
AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine,AutoFormsRecognitionManager,Int32,Int32,Boolean)
See Also  Example
Leadtools.Forms.Auto Namespace > AutoFormsEngine Class > AutoFormsEngine Constructor : AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine,AutoFormsRecognitionManager,Int32,Int32,Boolean)



repository
Repository of the Master Forms.
ocrEngines
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
barcodeEngine
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
managers
The Object Managers to be used to recognize forms and generate Master Forms attributes in GenerateMasterFormAttributes.
minimumConfidenceKnownForm
The minimum confidence value to decide that the Form type result is a known type. It ranges from 0 to 100 and usually it is less than minimumConfidenceRecognized.
minimumConfidenceRecognized
The minimum confidence value to decide that the Form type is recognized and no further comparison with Master Forms is needed. It ranges from 0 to 100 and usually it is greater than minimumConfidenceKnownForm.
recognizeFirstPageOnly
Recognize the form based on the first page only.

The AutoFormsEngine Constructor(IMasterFormsRepository,List<IOcrEngine>,BarcodeEngine,AutoFormsRecognitionManager,Int32,Int32,Boolean) is available as an add-on to the LEADTOOLS Document and Medical Imaging toolkits.

Initializes a new AutoFormsEngine class object that uses multi-threads to perform AutoFormsEngine functionalities such as recognition and processing.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal repository As IMasterFormsRepository, _
   ByVal ocrEngines As List(Of IOcrEngine), _
   ByVal barcodeEngine As BarcodeEngine, _
   ByVal managers As AutoFormsRecognitionManager, _
   ByVal minimumConfidenceKnownForm As Integer, _
   ByVal minimumConfidenceRecognized As Integer, _
   ByVal recognizeFirstPageOnly As Boolean _
)
Visual Basic (Usage)Copy Code
Dim repository As IMasterFormsRepository
Dim ocrEngines As List(Of IOcrEngine)
Dim barcodeEngine As BarcodeEngine
Dim managers As AutoFormsRecognitionManager
Dim minimumConfidenceKnownForm As Integer
Dim minimumConfidenceRecognized As Integer
Dim recognizeFirstPageOnly As Boolean
 
Dim instance As New AutoFormsEngine(repository, ocrEngines, barcodeEngine, managers, minimumConfidenceKnownForm, minimumConfidenceRecognized, recognizeFirstPageOnly)

Parameters

repository
Repository of the Master Forms.
ocrEngines
List of Leadtools.Forms.Ocr.IOcrEngine that are used for optical character recognition and processing. The size of the list specifies the number of threads to be used in AutoFormsEngine.
barcodeEngine
The Leadtools.Barcode.BarcodeEngine that is used for barcode recognition and processing.
managers
The Object Managers to be used to recognize forms and generate Master Forms attributes in GenerateMasterFormAttributes.
minimumConfidenceKnownForm
The minimum confidence value to decide that the Form type result is a known type. It ranges from 0 to 100 and usually it is less than minimumConfidenceRecognized.
minimumConfidenceRecognized
The minimum confidence value to decide that the Form type is recognized and no further comparison with Master Forms is needed. It ranges from 0 to 100 and usually it is greater than minimumConfidenceKnownForm.
recognizeFirstPageOnly
Recognize the form based on the first page only.

Example

Visual BasicCopy Code
Public Sub AutoFormRunThreadManagersAll()
      Dim filesNames As List(Of String) = New List(Of String)()
      filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\Images\FCC-107_OCR_Filled.tif"))

      Dim root As String = Path.Combine(LEAD_VARS.ImagesDir, "Forms\MasterForm Sets\OCR_ICR")
      Dim codecs As RasterCodecs = New RasterCodecs()
      'create repository
      Dim repository As DiskMasterFormsRepository = New DiskMasterFormsRepository(codecs, root)
      Dim ocrEngines As List(Of IOcrEngine) = New List(Of IOcrEngine)()
      Dim ocrEngine As IOcrEngine
      'creates four threads
      For i As Integer = 0 To 3
         ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, True)
         ocrEngine.Startup(Nothing, Nothing, Nothing, Nothing)
         ocrEngines.Add(ocrEngine)
      Next i

      Dim engineBarcode As BarcodeEngine = New BarcodeEngine()
      'create AutoForm Engine
      Dim autoEngine As AutoFormsEngine = New AutoFormsEngine(repository, ocrEngines, engineBarcode, AutoFormsRecognitionManager.Ocr, 30, 80, True)

      Try
         For Each formFileName As String In filesNames
            'recognize and process the form
            Dim result As AutoFormsRunResult = autoEngine.Run(formFileName, Nothing)
         Next formFileName
      Finally
         autoEngine.Dispose()
         For Each engine As IOcrEngine In ocrEngines
            engine.Shutdown()
            engine.Dispose()
         Next engine
         ocrEngines.Clear()
      End Try
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
C#Copy Code
public void AutoFormRunThreadManagersAll()
   {
      List<string> filesNames = new List<string>();
      filesNames.Add(Path.Combine(LEAD_VARS.ImagesDir, "Forms\\Images\\FCC-107_OCR_Filled.tif"));

      string root = Path.Combine(LEAD_VARS.ImagesDir,@"Forms\MasterForm Sets\OCR_ICR");
      RasterCodecs codecs = new RasterCodecs();
      //create repository
      DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
      List<IOcrEngine> ocrEngines = new List<IOcrEngine>();
      IOcrEngine ocrEngine;
      //creates four threads
      for(int i = 0; i < 4; i++)
      {
         ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Plus, true);
         ocrEngine.Startup(null, null, null, null);
         ocrEngines.Add(ocrEngine);
      }

      BarcodeEngine barcodeEngine = new BarcodeEngine();
      //create AutoForm Engine
      AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngines, barcodeEngine, AutoFormsRecognitionManager.Ocr, 30, 80, true);

      try
      {
         foreach(string formFileName in filesNames)
         {
            //recognize and process the form
            AutoFormsRunResult result = autoEngine.Run(formFileName, null);
         }
      }
      finally
      {
         autoEngine.Dispose();
         foreach(IOcrEngine engine in ocrEngines)
         {
            engine.Shutdown();
            engine.Dispose();
         }
         ocrEngines.Clear();
      }
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}

Remarks

It is the user's responsibility to dispose of this object when it is no longer needed by calling Dispose.

ocrEngines should be provided. If it is null, an exception is thrown.

If barcodeEngine is null, Leadtools.Forms.Recognition.Barcode.BarcodeObjectsManager will not be used for recognition and Leadtools.Forms.Processing.BarcodeFormField will not be processed.

Multi-threading is recommended since it speeds up form recognition and processing.

To implement your own multiple thread or to not use threads use AutoFormsEngine(IMasterFormsRepository repository, List<IOcrEngine> ocrEngines, BarcodeEngine barcodeEngine, AutoFormsRecognitionManager managers, int minimumConfidenceKnownForm, int minimumConfidenceRecognized, bool recognizeFirstPageOnly).

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 2000, Windows XP, Windows Server 2003 family, Windows Server 2008 family, Windows Vista, Windows 7

See Also

Leadtools.Forms requires a Forms Module license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features